1. Field of the Invention
The invention relates in general to a firmware updating system and a method for updating the same, and more particularly to a firmware updating system capable of self-updating a part of the file system and a method for updating the same.
2. Description of the Related Art
An embedded system is a computer system integrating software and hardware and has specific functions. The software of the embedded system, also called firmware, comprises an instruction set for performing specific functions, and has been widely used in many electronic devices such as personal digital assistant (PDA), telephone system, copier, elevator, and so on. As the application of the embedded system covers a wide range and the manufacturer is dedicated to further augmenting the functions of the embedded system, the updating of the firmware has thus become an important issue.
Most of the firmware is stored in a read-only memory (ROM). According to current method for updating the firmware, normally an electronic device is connected to a personal computer via a network interface card or a com port such as RS-232 first, and then a complete image file is downloaded to a random access memory (RAM) of the electronic device from the personal computer. Afterwards, the downloaded image file is compared with the original programming code, and the difference is written to the flash read-only memory for updating the firmware. According to some technologies, the downloading of the image file is concurrent with the updating of the programming code. Next, the electronic device is re-started for completing the updating of the firmware. However, the method of downloading the entire image file via the network and updating image file simultaneously will end up with error in updating if the connection of network is disconnected. Moreover, the contents of the image file may be changed and the security may be jeopardized. Therefore, according to most current methods, the programming code is not updated until the entire image file has been completely downloaded to the electronic device. However, this method of updating the firmware is disadvantaged by the following shortcomings.
Firstly, as an entire image file of the personal computer is transmitted to the embedded system via a corn port, the transmission time would increase relatively when the size of the firmware increases.
Secondly, as the entire image file is written to the random access memory for updating the firmware, the random access memory may lack of sufficient space, hence the system stability is deteriorated.
Thirdly, each time when the software is to be updated, the entire image file, including the programming code that does not need to be updated, is transmitted to the electronic device for comparison, hence resulting in unnecessary waste of time.
Fourthly, as the entire programming code of the embedded system is positioned at the same image file, the hardly updated part of the image file such as the kernel code or the boot code would also be transmitted to the electronic device for comparison, not only wasting frequency width but also deteriorating updating efficiency.